
variable "images_visibility" {
  type        = string
  default     = null
  description = "(Optional, String) The visibility of the image. Must be one of public, private or shared."
}

variable "name_suffix" {
  description = "The suffix string of name for all eip resources"
  
  type    = string
  default = ""
}

variable "secgroup_id" {
  type        = string
  default     = null
  description = " (Optional, List) Specifies an array of one or more security group IDs to associate with the instance."
}

variable "image_id" {
  description = "get by data"
  type        = string
  default     = null
}

variable "flavor_id" {
  description = "get by data"
  type        = string
  default     = null
}

variable "subnet_id" {
  type        = string
  default     = null
  description = "(Required, String, ForceNew) Specifies the network UUID to attach to the instance. "
}

variable "availability_zone" {
  type        = string
  default     = null
  description = " (Optional) This is the Huawei Cloud availability_zone. It must be provided when using static credentials authentication."
}

variable "charging_mode" {
  type        = string
  default     = null
  description = " Specifies the charging mode of the disk. The valid values are as follows:prePaid: the yearly/monthly billing mode,postPaid: the pay-per-use billing mode. Changing this creates a new disk."
}

variable "period_unit" {
  description = "The period unit of the pre-paid purchase"
  
  type    = string
  default = null
}

variable "period" {
  description = "The period number of the pre-paid purchase"
  
  type    = number
  default = null
}

variable "user_data" {
  type        = string
  description = "Specifies the user data to be injected during the instance creation. Text and text files can be injected."
  default = null
}

variable "ecs_configuration" {
  description = "The configuration for instance resources to which the ecs belongs"
  type = list(object({
    name                        = string
    system_disk_type            = string
    system_disk_size            = number
    stop_before_destroy         = bool
    delete_disks_on_termination = bool
    tags                        = map(string)
  }))
  default = null
}

variable "associated_configuration" {
  description = "The configuration for associated resources to which the ecs belongs"
  type = list(object({
    public_ip = string
  }))
  default = null
}